package com.ev.asl.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 组装指示表
 * @author 姚家乐
 * @since 2021/5/26 12:40
 */
@Data
@ApiModel(value = "组装指示表")
public class AssemblyInstructionDO implements Serializable {
    private static final long serialVersionUID = 1L;

    //自增主键
    @ApiModelProperty(value = "自增主键")
    private Long              id;

    /**
     * 指示编号
     */
    @ApiModelProperty(value = "指示编号")
    private String            serialNo;

    @ApiModelProperty(value = "生产指示")
    private Long            planId;

    @ApiModelProperty(value = "生产指示")
    private String            planCode;

    /**
     * 日期
     */
    @ApiModelProperty(value = "日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date              indicateDate;

    @ApiModelProperty(value = "日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date              startDate;

    @ApiModelProperty(value = "日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date              endDate;

    /**
     * 工作时间
     */
    @ApiModelProperty(value = "工作时间")
    private BigDecimal        workTime;

    /**
     * 编制人员id
     */
    @ApiModelProperty(value = "编制人员id")
    private Long              staffingId;

    /**
     * 编制人员姓名
     */
    @ApiModelProperty(value = "编制人员姓名")
    private String            staffingName;

    /**
     * 审查人id
     */
    @ApiModelProperty(value = "审查人id")
    private Long              auditorId;

    /**
     * 审查人姓名
     */
    @ApiModelProperty(value = "审查人姓名")
    private String            auditorName;

    /**
     * 批准人id
     */
    @ApiModelProperty(value = "批准人id")
    private Long              approverId;

    /**
     * 批准人姓名
     */
    @ApiModelProperty(value = "批准人姓名")
    private String            approverName;

    /**
     * k3生产任务单id
     */
    @ApiModelProperty(value = "k3生产任务单id")
    private Long              productionPlanId;

    /**
     * 产品名(组件)Id
     */
    @ApiModelProperty(value = "产品名(组件)Id")
    private Long              materielId;
    /**
     * 产品名(组件)name
     */
    @ApiModelProperty(value = "产品名(组件)name")
    private String            materielName;

    /**
     * 指示数量
     */
    @ApiModelProperty(value = "指示数量")
    private BigDecimal        qty;

    /**
     * 指示数量剩余
     */
    @ApiModelProperty(value = "指示数量剩余")
    private BigDecimal        residue;

    /**
     * 生产部门ID
     */
    @ApiModelProperty(value = "生产部门ID")
    private Integer           proDeptId;

    /**
     * 生产部门
     */
    @ApiModelProperty(value = "生产部门")
    private String            proDeptName;

    /**
     * 特记事项
     */
    @ApiModelProperty(value = "特记事项")
    private String            specialNoteItem;

    /**
     * 状态(0:计划,1:已审查，2:已批准,3:已开工,4:已挂起,5:已结案)
     */
    @ApiModelProperty(value = "状态(0:计划,1:已审查，2:已批准,3:已开工,4:已挂起,5:已结案)", hidden = true)
    private Integer           status;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", hidden = true)
    private Long              createBy;
    /** 创建时间
     *
     */
    @ApiModelProperty(value = "创建时间", hidden = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date              createTime;
    /** 修改人
     *
     */
    @ApiModelProperty(value = "修改人", hidden = true)
    private Long              updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", hidden = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date              updateTime;
    /**
     * 删除状态(0:未删除，1：已删除)
     */
    @ApiModelProperty(value = "删除状态(0:未删除，1：已删除)", hidden = true)
    private Integer           delFlag;

    /**
     * 是否首检(0:未首检，1：已首检)
     */
    @ApiModelProperty(value = "是否首检(0:未首检，1：已首检)", hidden = true)
    private Integer           haveFirstCheck;
}
